The present invention pertains to the field of network management. More particularly, the present invention relates to a protocol for performing network management using a web-capable network management agent.
The proliferation of both local area networks (LANs) and wide area network (WANs) has resulted in increasing demands being made on network management tools and on network management personnel. In order to increase the ease and speed with which network management personnel are able to perform management tasks and respond to network problems, it is desirable to provide such personnel with convenient and ready access to network management tools.
The Internet, and more specifically the World Wide Web (hereinafter referred to as xe2x80x9cthe webxe2x80x9d) component thereof, have become increasingly accepted as a medium of data communication in recent years. Programs which allow documents and objects to be retrieved from the web, and to be viewed are generically termed xe2x80x9cweb browsersxe2x80x9d. Hypertext Markup Language (HTML) is the language used for the construction of documents that are viewable by web browsers, and a specification of this language is provided in the Request For Comments (RFC) document by Berners-Lee, T., D. Connolly, xe2x80x9cHypertext Markup Lanuguexe2x80x942.0xe2x80x9d, RFC 1866, MIT Laboratory of Computer Science, November 1995. A large number of browsers are commercially available, including the Netscape Navigator(copyright) browser developed by Netscape Communications of Mountain View, Calif., and the Microsoft Internet Explorer(copyright) browser developed by Microsoft Corporation of Redmond, Wash.
While browsers operate to display HTML documents, they are also responsible for negotiating a HyperText Transport Protocol (HTTP) with a web server prior to the retrieval of an HTML document or other object, the submission of information from the browser to a web server, and responding to requests to xe2x80x9clinkxe2x80x9d to (or retrieve) other HTML documents identified in an HTML document currently displayed by the browser. The capabilities of web browsers and servers are further continually being enhanced by the development of so-called xe2x80x9cplug-insxe2x80x9d, which are software modules which can be added to web browser and server software to provide enhanced functionality.
In view of the popularity and proliferation of the web browsers there has been some development towards allowing network managers to perform network management functions utilizing a web browser over the internet or an intranet. Referring to FIGS. 1A and 1B, two arrangements for facilitating management of a network 10, utilizing a web browser, are illustrated. The network segment 10 comprises a network management station 12 and a network device 14, which may be a host, gateway, terminal server, hub, repeater, bridge or frame switch. A network management application 16 resides on the network management station 12, while a network management agent 18 resides on the network device 14. The application 16 and the agent 18 communicate management information using the Simple Network Management Protocol (SNMP), as defined in the RFC by Case, J. M. Fendor, M. Schoffstal, and J. Davin, xe2x80x9cThe Simple Network Management Protocolxe2x80x9d, RFC 1157 University of Tennessee at Knoxville, Performance Systems International, Performance Systems International, and the MIT Laboratory of Computer Science, May 1990. More specifically, the agent 18 will provide the application 16 with status information regarding network activity relating to the network device 14, either when polled by the application 16, or as a trap. The application 16 assimilates network status information from a number of network management agents to provide a network manager with an overall view of network activity and status. A network manager can perform network management functions by receiving messages from and sending messages to the agent 18.
All network management functions with an SNMP environment are performed by altering and inspecting variables or xe2x80x9cmanaged objectsxe2x80x9d. These managed objects are termed Management Information Base (MIB) objects, and each network management agent 18 supports a predetermined set of MIB objects (termed an SNMP MIB view of that agent). The sets of MIB objects supported by various network management agents may vary from network device to network device. A number of MIB objects are defined in the RFC by McCloghrie, K., and M. Rose, xe2x80x9cManagement Information Base for Network Management of TCP/IP-based Internetsxe2x80x9d, RFC 1156 Hughes LAN Systems and Performance Systems International, May 1990. Examples of such managed objects includes the xe2x80x9csysUpTimexe2x80x9d object (which provides a value indicating the time since the network management portion of a system was last re-initialized) and the xe2x80x9cifAdminStatusxe2x80x9d object (which indicates whether an interface is up, down or in a testing state).
In order to maintain the simplicity of the SNMP, the exchange of messages using the SNMP utilizes an unreliable datagram service, such as the User Datagram Protocol (UDP) as specified in the RFC by Poster, J., xe2x80x9cUser Datagram Protocolxe2x80x9d, RFC 768, USC/Information Sciences Institute, November 1980. The UDP protocol allows the transmission of message packets in a serial fashion, and accordingly has a limited bandwidth.
Also shown is FIG. 1A is a remote device 20, such a desktop computer, on which is resident a client 22 in the form of a web browser. The client 22 communicates with a proxy agent 24, which is resident on the network management station 12 using the Hypertext Transfer Protocol (HTTP), as defined in the RFC by Fielding, R., H. Frystyk, T. Berners-Lee, J. Gettys, J. C. Mogul, xe2x80x9cHypertext Transfer Protocolxe2x80x94HTTP/1.1xe2x80x9d, RFC xxxx UC Irvine, MIT Laboratory of Computer Science, MIT Laboratory of Computer Science, DEC, DEC, April 1996. Accordingly, all data packages passed between the client 22 and the proxy engine 24 conform to the HTTP protocol. The proxy agent 24 receives and translates data packages from the client 22 into a format understood by the network management application 16, before propagating the translated message to the application 16. Accordingly, the proxy agent 24 is an intermediate program which acts as both a server and a client for the purposes of translating and forwarding requests to the application 16 on behalf of the client 22. Similarly, messages intended for transmission from the application 16 to the client 22 must firstly be propagated to the proxy agent 24, which translates the message into a format required by the HTTP protocol. After performing the translation, the proxy agent 24 then propagates the message to the client 22.
FIG. 1B shows the network management station 12 and the network device 14 which communicate network management information according to the SNMP protocol, as described above. However, the proxy agent 24 is now shown to reside on the network device 14, instead of the network management station 12. In the shown arrangement, the client 22 installed on the remote device 20 communicates with the network management agent 18 via the proxy agent 24 as described above. In this case, the proxy agent 24 translates a message received from the client 22 from a format specified by the HTTP protocol to a format specified by the SNMP format. Similarly, a message from the network management agent 18 to the client 22 is translated by the proxy agent 24 from a format specified by the SNMP protocol to a format specified by the HTTP protocol.
While the arrangements shown in FIGS. 1A and 1B allow a degree of network management to be performed from a client 22 resident on a remote device, there are a number of limitations inherent in these arrangements. Specifically, the HTTP protocol is primarily intended to facilitate the retrieval of static documents by a client from a server. The SNMP protocol is intended to facilitate network management in a simple and effective manner. Furthermore, the existence of a proxy agent for the translation of messages between the two protocols is inefficient and undesirable.
The present invention contemplates a network management protocol wherein a method token, associated with a network management function, is incorporated or embedded directly into a Uniform Resource Locator (URL) or Uniform Resource Identifier (URI) propagated from a browser. Data generated by the performance of the network management function is then communicated by a network management agent to a browser in a format that can be displayed by the browser.
According to the invention there is provided a method of performing a network management transaction between a network device having a network management agent installed thereon and a remote device having a browser installed thereon. The method involves firstly performing a network management function relating to the network device. Data concerning the network management function is then propagated from the agent to the remote device in a format capable of display by the browser. More specifically, a HTML document is composed by the agent and then propagated from the agent to the remote device for display by the browser, the document incorporating the data concerning the network management function. Alternatively, the data may be propagated in a format for display by the browser under the direction of an application program resident of the remote device.
The network management function relating to the network device is performed in response to a network management request issued from the browser. The network management request may be included in a data packet received at the agent, the data packet including a plurality of network management requests. The network management function addresses a network management object, and performing the network management function requires that an object identifier included within the network management request be associated with the network management object.
Prior to a network management request being issued from the browser, a list of network management functions supported by the agent is sent from the agent to the remote device. The agent may also transmit a menu HTML document to the remote device for display by the browser, the menu document providing an option to issue the request from the browser to the agent. The menu HTML document includes static information concerning the network device, and includes a number of URIs (or URLs) including embedded method tokens for initiating network management functions.
A network management function may involve the retrieval of network management information, the allocation of a value of a network management object, or the setting of a trap on a network management object.
A connection is established between the agent and the browser, and the connection is maintained for multiple network management transactions between the agent and the remote device.
The invention extends to a computer-readable medium having a plurality of instructions thereon which, when executed by a processor within the network device, cause the processor to perform the steps detailed above.
The invention also extends to a network device having a processor and a memory coupled to the processor, the memory storing a set of instructions which, when executed by the processor, cause the processor to perform the steps detailed above.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.